System and method for utilizing epg database for modifying advertisements

ABSTRACT

A system and method for utilizing data stored in an EPG database for modifying advertisement information. In this way, a service provider and/or an advertiser can transmit a single advertisement to all the television stations regardless of their geographic location and other user specific information, and need not re-transmit the advertisement even if there is a change in the show&#39;s program description. When the advertisement is displayed, the correct updated information is retrieved from the EPG database and inserted into the advertisement. 
     In one aspect, the present invention describes a method for modifying an advertisement in an EPG comprising the steps of: storing television schedule information in a first database; storing advertisement information in a second database; incorporating a portion of the television schedule information into a portion of the advertisement information to form a modified advertisement; and displaying the modified advertisement on a screen.

CROSS-REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent application Ser. No. 09/604,038, filed on Jun. 27, 2000, entitled “SYSTEM AND METHOD FOR UTILIZING EPG DATABASE FOR MODIFYING ADVERTISEMENTS,” and claims the benefit of the filing date of U.S. Provisional Patent Application Ser. No. 60/141,331, filed Jun. 28, 1999 and entitled “SYSTEM AND METHOD FOR UTILIZING EPG DATABASE FOR MODIFYING ADVERTISEMENTS,” the entire contents of which are hereby expressly incorporated by reference. This application is also related to the U.S. application Pat. No. 6,177,931, issued Jan. 23, 2001 and entitled “SYSTEMS AND METHODS FOR DISPLAYING AND RECORDING CONTROL INTERFACE WITH TELEVISION PROGRAMS, VIDEO, ADVERTISING INFORMATION AND PROGRAM SCHEDULING INFORMATION,” the contents of which are hereby expressly incorporated by reference.

BACKGROUND OF THE INVENTION

The present invention relates to receiving and displaying advertisements in an Electronic Program Guide (EPG). More specifically, this invention is directed to a system and method for utilizing data stored in an EPG database for modifying advertisement information.

U.S. Pat. No. 6,177,931, issued on Jan. 23, 2001, the contents of which are hereby expressly incorporated by reference, discloses an electronic program guide (EPG) with panel ad windows and channel ad tiles for displaying advertisement information. Typically, the advertisement information relates to future-scheduled television programs. For example, NBC might present a panel or tile advertisement of its show “Friends,” as being shown every Thursday night on the local NBC channel.

Certain information in the advertisement, however, may vary each time the advertisement is transmitted, or differ based on the location of the receiving television system. For instance, “Friends” might be shown at 8:00 pm in California, but at 7:00 pm in Chicago. Thus, an advertisement displayed on a television system in California might read: “Watch Friends every Thursday night at 8:00 pm,” while the advertisement in Chicago might state the same information (text and/or graphics), except that the airing time of the show will be different. Thus, for each of the different time zones, a service provider must create and transmit a different advertisement with the appropriate time information.

In addition to the above, the program description of an episode of a series of programs might differ on a daily, weekly, or bi-weekly basis. In such an instance, the service provider must transmit a new advertisement with updated program description information each time there is a change in the program description. Also, portions of information related to other ads, such as promoting a product or service may vary according to time zone, geographical regions, user preferences, and the like. Therefor, in the case of product/service advertisements, the service provider must also transmit a new advertisement with updated information each time there is a change in the price, telephone number, web site address, dates of promotions, and the like.

When advertisement information is transmitted via vertical blanking interval (VBI) signals which is a limited commodity, it is desirable to minimize the amount of advertisement information transmitted. With less transmitted information, the television systems that receive the information will also expend less memory in storing the information.

SUMMARY OF THE INVENTION

The present invention addresses and alleviates the above-mentioned deficiencies associated with the prior art. More particularly, the present invention comprises a system and method for utilizing data stored in an EPG database for modifying advertisement information. In this way, a service provider and/or an advertiser can transmit a single advertisement to all the television stations regardless of their geographic location and other user specific information, and need not re-transmit the advertisement even if there is a change in the show's program description. When the advertisement is displayed, the correct updated information is retrieved from the EPG database and inserted into the advertisement.

In one aspect, the present invention describes a method for displaying an advertisement in an EPG including the steps of: storing television schedule information in a database; receiving advertisement information; combining a portion of the received advertisement information with a portion of the stored television schedule information; and displaying the combined information in the EPG on a screen. In another aspect, the present invention describes a method for modifying an advertisement in an EPG comprising the steps of: storing television schedule information in a first database; storing advertisement information in a second database; incorporating a portion of the television schedule information into a portion of the advertisement information to form a modified advertisement; and displaying the modified advertisement on a screen.

BRIEF DESCRIPTION OF THE DRAWINGS

The objects, advantages and features of this invention will become more apparent from a consideration of the following detailed description and the drawings in which:

FIG. 1 is an exemplary illustration of an EPG display according to one embodiment of the present invention;

FIG. 2 is an exemplary remote controller according to one embodiment of the present invention;

FIG. 3 is an exemplary illustration of a pre-established time list according to one embodiment of the present invention;

FIG. 4 is an exemplary illustration of a show information package according to one embodiment of the present invention;

FIG. 5 is an exemplary illustration of a program schedule organization according to one embodiment of the present invention;

FIG. 6 is an exemplary illustration of a channel data table according to one embodiment of the present invention;

FIG. 7 is an exemplary illustration of a show list according to one embodiment of the present invention;

FIG. 8 is an exemplary illustration of show title entries according to one embodiment of the present invention;

FIG. 9 is an exemplary illustration of show description entries according to one embodiment of the present invention;

FIG. 10 is an exemplary illustration of a scheduling component of advertisement data packets according to one embodiment of the present invention;

FIG. 11 is an exemplary illustration of a program component of advertisement data packets according to one embodiment of the present invention; and

FIG. 12 is an exemplary illustration of how information is retrieved from the database according to one embodiment of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention describes a system and method for utilizing data stored in an EPG database for updating advertisement information so that a single advertisement can be transmitted to all or many of the television stations regardless of their geographic location, and specifics of the advertisement. Before the transmitted advertisement is displayed, the updated airing time, program description, price, point of sales, and the like information is retrieved from the EPG database and inserted into the advertisement.

Although in the described embodiment, the airing time information and program description information might be modified, a person skilled in the art should recognize that any other advertisement data, such as graphics and any other text data, may be modified based on information stored in the EPG database. Furthermore, the advertisements modified may not only pertain to future or current television programs, but may be advertisements for any type of products or services.

Alternatively, the updating information may be transmitted in real time to the television system at the time the advertisement is displayed. In one embodiment, a portion of the advertisement information (e.g., the ad content) is transmitted in real time while another portion of the advertisement information, such as program information, program time, ad rotation information, and/or web site addresses are retrieved from the EPG database and are combined with the received advertisement information before a complete advertisement is displayed. Additionally, the advertisement content, including text and graphics may be transmitted in real time and be combined with EPG data before the advertisement is displayed.

FIG. 1 is an exemplary illustration of an EPG display. The EPG is displayed on a television screen generated by a conventional television receiver with interlaced scan lines. Alternatively, the display may be generated by a VCR or PC monitor with progressive scan lines. Two panel ad windows with advertisement information are located on the left side of the screen, and occupy about 1/9 of the total screen. The remainder of the screen area is typically occupied (moving from top to bottom of the screen) by an action key bar, an information box, navigation bar, and a grid guide. The grid guide includes a plurality of program tiles with program scheduling information. The grid guide might also comprise advertisement tiles also including advertisement information, as shown in FIG. 1. U.S. application Pat. No. 6,177,931, mentioned above, provides a more detailed description of the grid guide including panel/tile advertisements and Internet connections.

Briefly, the EPG displays detailed information relevant to program listings in a detailed information area of a Grid Guide. The detailed information can include, a detailed textual description of the program, information about the actors and actresses, information about the production of the program, product related information, identification of relevant Internet web sites and online Internet chat rooms. The EPG provides the viewer with the ability to request detailed information from such guides/data services in a number of ways, including when the viewer highlights: a particular program in the Grid Guide, the Ad Window, or a Virtual Channel Ad Slot. In one embodiment, the viewer's remote control device has a power “Information” key. When the viewer has navigated the on screen highlighting/cursor to a particular tile or window on the EPG on screen display, the viewer can press the remote control device “Information” key to request the additional information.

In one embodiment, when the viewer highlights a particular program in the Grid Guide, the Ad Window, or a Virtual Channel Ad Slot, or other requests to access detailed program-related information, the EPG connects the viewer with an external database of information, such as with a particular web site on the Internet. The viewer can instruct the EPG to connect the user with detailed specialized information guides/data services, such as sports, news, or other guides/data services. In one embodiment, the linking to the external data source is accomplished by storing a web site address (Uniform Resource Locator, ‘URL’) with the Ad Window or Virtual Channel Ad Slot advertisement in the RAM of the user terminal. This web site address may be modified in the RAM, while the ad content and/or graphics stays the same. For example, if a web site address for a vendor is changed while the product and its description may stay the same, the ad content remains unchanged in the advertisement database, while only the new web site address is transmitted to be combined and displayed with the ad information.

A sports program listed in the Grid Guide provides an illuminating example of how the viewer interacts with such a detailed specialized information guide/data service. When the viewer highlights a football game listed in the Grid Guide, the normal detail concerning the program is displayed in the detailed information are of the Grid Guide. Furthermore, multiple icons related to the highlighted program can be displayed in the Grid Guide. One icon alerts the user that the game is already underway. Another icon indicates the availability of specialized guide information. The viewer can select the program from the Grid Guide for viewing and/or recording. In addition, the viewer can select the specialized guide icon. In the case of a sports program, selecting the specialized guide icon would display, for instance, a scoreboard for the game if the game were already in progress in the detailed information area of the Grid Guide. If the game were scheduled for a future time, then selecting the specialized guide icon would display, for instance, information about the players, the teams, and perhaps, the odds about the game.

Another icon including one or more URLs, displayed for instance in the display of the sports guide scoreboard, provides the viewer with the option of connecting to the Internet, for example, to a particular web site that provides additional information about the game, possibly, including online chat about the game. In one embodiment, the EPG switches to full screen to display of the Internet web site. In another embodiment, the EPG displays the Internet web site in the area of the screen previously occupied by the Grid Guide and/or the Grid Guide and the Ad Window, while continuing to display the real time video display of the currently tuned television program in the PIP window. Alternatively, the EPG can display the Internet web site in the PIP window and display the currently tuned television program in the area of the screen previously occupied by the Grid Guide and/or the Grid Guide and the Ad Window. The internet web site to which the EPG initially connects (the “contact web site”) may be a specialized directory, using pre-determined hyperlinks to the viewer to other cites of interest. The contact web site may additionally, or in the alternative, offer search capabilities to the viewer to locate information of interest.

Once the viewer is connected with a specialized information guide/data service, the viewer can use the guide/data service to direct the viewer to particular information contained in the EPG Grid Guide. For instance, a viewer selects a news program to watch and while watching the news program, the news broadcaster describes an event involving astronauts. The viewer selects the news guide/data service icon and connects to a web site on the Internet describing, among other things, additional information about the particular event involving the astronauts. The viewer may also use the search engine offered by the contact web site to locate additional information about the same astronauts. At the subsequent web sites, a Discovery Channel program is mentioned concerning some of the same astronauts. The viewer can instruct the EPG to locate any occurrence of the referenced program and to schedule that program to be recorded. In one embodiment, a PLUS CODE-like address is used to link to, or record, the scheduled program.

The viewer can search an index, available on the Internet and created by a news data service, of recorded television news programs and reports. If the viewer selects one of the indexed reports, a video clip of the indexed report is shown in the area on the screen occupied by the Internet web site display, or any alternate area or portion of the on-screen display. The viewer can instruct the EPG to record the video clip.

The EPG is capable of integrating additional information provided by the special data services into the EPG display. For instance, in the case of a sports data service, the EPG can format the program listing display and/or the sports scores for a game with special color coding depending upon the stage of the game. For instance, if the game is in progress, the EPG formats the program listing and/or the sports scores for that game with one color, e.g., green; if the game is completed, the program listing and/or the final scores can be in a different color, e.g., blue. If the game is in progress, the viewer can highlight and select the box score to move from the box score to the game shown on the television. In one embodiment, the selected television sports program appears in the PIP Window or the Ad Window, allowing the viewer to read the sports program-related story in the sports guide while watching the corresponding television sports program.

The EPG is further capable of linking between news items in a special news guide and related television programs. The viewer can link to a news program to watch or record that program by highlighting and selecting a news item in a news guide. In one embodiment, the selected television news program appears in the PIP Window or the Ad Window, allowing the viewer to read the story in the news guide while watching a television news program that reports on the event.

In one embodiment, the VBI for selected channels is dedicated to the delivery of a special data service. For instance, the ESPN VBI would carry the sports data service only. In one embodiment, as an incentive to carry this data, the data service would display the ESPN Television program in the PIP window. Since the tuner must be set to ESPN to capture the data, the television signal is available for display in the PIP.

The EPG provides producers of infomercials with extended capabilities to reach the viewers through the Ad Window. Because of the cost of buying advertising time, a growing number of product manufacturers and marketers produce infomercials about their products and then buy relatively inexpensive air time for their infomercials according to off-prime-time schedules, often on non-prime channels. The EPG provides the producers of infomercials with the opportunity to provide the viewer with the opportunity to record an infomercial that is broadcast at a time, or on a channel, that would be inconvenient for the viewer to watch real-time. If the Ad Window displays information about a particular product, pressing a record button instructs the EPG to record an infomercial or advertisement, to the extent that one is scheduled for a future time. Alternatively, the viewer can designate the infomercial or advertisement for the Watch List. Moreover, the EPG may provide the producers of infomercials with the opportunity to provide the viewer with the opportunity to view a video clip about the product being advertised.

In one embodiment, the video clip associated with the product and/or program displayed in the Ad Window is shown when the viewer highlights the Ad Window. Depending upon the embodiment and/or viewer option selections, the video clip is shown in the PIP window, in the Ad Window, or full screen. At the conclusion of the video clip, the EPG typically returns to the mode in which the viewer was operating immediately before selecting the option that triggered the display of the video clip.

The EPG provides distributors of television programming with additional opportunities to reach the viewer. The Ad Window can display information about a future-scheduled television program. If the viewer is interested in recording the program, the viewer can take a number of alternative actions. For instance, in one embodiment, the viewer can instruct the EPG to record the future-scheduled program. Additionally, the viewer can instruct the EPG to add program to the Watch List. Alternatively, the viewer can instruct the EPG to display a video clip about the program. Yet further, the viewer can instruct the EPG to connect the user with detailed specialized information guides/data services, such as sports, news, or other guides/data services. The EPG provides the viewer with the ability to request detailed information from such guides/data services in a number of ways, including when the viewer highlights: a particular program in the Grid Guide, the Ad Window, or a Virtual Channel Ad Slot. In one embodiment, the EPG displays relevant detailed information in the detailed information area of the Grid Guide. In another embodiment, the EPG connects the viewer with an external database of information, such as with a particular web site on the Internet.

In one embodiment, Panel ads occupy a fixed area in the Guide and are generally filled with paid advertisements. As shown in the exemplary illustration of the EPG of FIG. 1, located directly below the PIP in an Ad Window, space is available in the Guide for two Panel ads. Each Panel ad occupies approximately 1/9th of the total screen area. When a given ad space is not sold, the space may be filled with a Placeholder ad, stored in ROM, and inserted in the available space, or with a bonus ad.

In one embodiment, all Guide screens are made up of “hard pages.” A hard page is defined as an area comprising 9 channel slots. Each time a user scrolls below the 9*x channel slot, a new “hard page” appears. Scrolling back up brings the previous hard page back into view. Each hard page may have different Panel ads associated with it. In one embodiment, Hard pages are defined differently in the Sort screens. Each sort category (e.g. Movies, Sports, Children's) is considered one hard page regardless of the number of items in the list vertically. As the user moves horizontally from one category to the next, the Panel ads also changes.

The number of hard pages available depends on the size of the user's lineup and the number of channels turned on or off. In the event that there are not enough channels to support the number of hard pages required for the number of Panel ads sold, not all Panel ads are displayed. For example, assume that 4 pairs of Panel ads and 4 Channel ads are saved in memory. Additionally, assume a particular user has 20 active channels in his channel lineup. Then the ads would be displayed as follows:

-   -   Panel ad Pair 1 with channels 1-8 and the first Channel ad     -   Panel ad Pair 2 with channels 9-16 and the second Channel ad     -   Panel ad Pair 3 with channels 17-20 and the third and fourth         Channel ads

If the user turns on more channels requiring the addition of a fourth hard page, then the fourth Panel ad Pair becomes visible.

In one embodiment, the user can highlight these ads, resulting in the automatic display of an expanded information box. This expanded information box may cover the entire right-hand ⅔rds of the grid. The user closes the expanded information box by moving the highlight off the Panel ad or by pressing the information button after the last related information box screen has been presented. In one embodiment, there can be multiple information “screens” displayed sequentially in the expanded information box. Pressing the Info. button while an ad is highlighted accesses these additional screens. There is no finite limit to the number of additional screens; memory limitations and selling requirements limit this number.

In one embodiment, if a Panel ad is highlighted, has show information associated with it, and the advertised show is currently on, the user may tune directly to the related program by pressing a button. Pressing the button also places the show in a Record/Watch Schedule for the duration of the show to allow the user to set the frequency to daily or weekly. If the show is not currently on, pressing a button places the show in the Record/Watch Schedule or; pressing another button tunes to the channel related to the show in the ad. Shows added to the Record/Watch Schedule may be set to be viewed: once, daily, or weekly. The Watch feature and the related Action button labels operate in the same way as if scheduling a show to watch from the Grid.

In one embodiment, if a Panel ad has show information associated with it, the show may be recorded by highlighting the ad and pressing an Action button. If the show is on now, recording begins immediately and the show is placed in the Record/Watch Schedule for the duration of the show to allow the user to set the frequency to daily or weekly. If the show is on in the future, that show is added to the Record/Watch Schedule for auto-recording. Shows added to the Record/Watch Schedule may be set to be recorded: once, daily, or weekly. The Record feature and related Action button labels operate in the same way as if scheduling a show to record from the Grid.

In one embodiment, Panel ads can be dynamic. There are two areas which may be dynamic: 1.) the Panel ad space; and/or 2.) the Information box. The Panel ad area may change over time, e.g., every x seconds rotating through a plurality of different graphical or textual ad executions in the Panel ad space. When a Panel ad is highlighted, the ad rotation stops on the currently displayed ad visual. The dynamic rotation does not restart until the Panel ad is de-highlighted.

The information box text associated with the Panel ad may change over time, e.g., every y seconds, rotating through a plurality of different screens of text. The screen rotation stops if the user presses the Info. button, displaying the first page of info. text. This option is available for advertisers to rotate different headlines in the information box. The user may view subsequent pages by pressing the Info. button again. The screen rotation does not restart until after the Panel ad is de-highlighted.

In one embodiment, the EPG provides producers of infomercials with extended capabilities to reach the viewers through Virtual Channel Ad Slots, also referred to as Channel ads. Virtual Channel Ad Slots appear as rows of the Grid Guide and typically show the titles of the programs that are scheduled for a particular channel. The EPG Grid Guide's Virtual Channel Ad Slots provide advertisement to be displayed as a row in the Grid Guides schedule of programs. The Virtual Channel Ad Slots may be used to provide multiple exposures of a particular program in the guide. The Virtual Channel Ad Slots act like a channel entry in the Grid Guide in that the viewer can record, watch, schedule for watching, and/or get information about the advertised program in the information detail box of the Grid Guide.

In FIG. 1, the “MTV” tile shows an example of a Virtual Channel Ad Slot for an ad for a television program—it is a program listing that is out of place channel-wise and time-wise in the Grid Guide. That is, it does not appear in the usual channel position or time position in the guide, but the tile is otherwise like the other program listing tiles of grid guide (including height), except that it occupies the entire width of the tile irrespective of the duration of the program. A tile for a normal program listing scrolls off the screen as the up and down arrow keys are pressed. In contrast, in one embodiment, a Virtual Channel Ad Slot, such as shown, remains on the screen at all times as the up and down arrow keys are pressed, so the ad remains in view at all times in this embodiment.

Channel ads typically do not occupy a fixed area. Channel ads are essentially inserted between channels in the grid. If there are no Channel ads sold, the grid is simply a continuous list of channels/show tiles with no gaps. As these channel ads take up a channel slot in the grid, it is desirable to limit how many are likely to appear on any one screen to ensure the Guide is a useful source of Television programming information. Typically, there is approximately 1 Channel ad per hard page. Channel ads are typically the height of a channel slot, the width of the grid and are intermingled with the channel listings. There are several types of Channel ads, including: Relative, Parent, and Fixed position Channel ads.

Relative Channel Ads appear in a position relative to the top of the grid and are spaced every n channel slots, where n is some number. These ads appear and disappear as the user pages through the Guide's hard pages. A location for the first ad can be selected on the first page and subsequent ads follow every n channel slots. The same ad is repeated every n^(th) slot. This method of repeating every n^(th) channel slot is true for both PIP and non-PIP versions. Typically, as a user turns channels off, the spacing of these ads remains constant (every n channel slots). In the event that there are not enough channels to continue this spacing, ads appear at the end of the grid listings.

Parent Channel ads are related to a specific channel located directly above the ad. A Parent Channel ad is attached to its adjacent “parent” channel (that is, the ad follows the parent channel). As it is desirable to limit the number of Channel ads seen on any one screen, the number of Parent ads are typically limited. Additionally, if the parent channel is turned off, the ad is typically displayed at the bottom of the grid. Fixed Position Channel ads are located in one specific location, y (where y is some number) channels down from the top of the grid. If y is greater than the number of channels in the grid, the ad will be located at the end of the grid.

In one embodiment, Channel ads page vertically along with the channel listing information. These ads remain in a fixed position when the grid is scrolled horizontally. The user can highlight these Channel ads just as any show title can be highlighted. When highlighted, these Channel ads display additional information in the info. box just as when any channel is highlighted.

Channel ads are typically surrounded by bevels just like any show tile. Channel ad highlighting is typically similar to Panel ad highlighting. In one embodiment, when a user highlights a Channel ad, the bevels change to a flat (non-beveled) yellow border. When a Channel ad show is set to record the border turns red (dark red when not highlighted, light/bright red when highlighted). When a Channel ad show is scheduled to watch, the border turns orange (dark orange when not highlighted, light/bright orange when highlighted). In one embodiment, Channel ads can have multiple, sequential info. box “screens” of information. The availability of this additional information is indicated by an “i” icon. The user can access the additional information by pressing the info. button. Channel ads can be dynamic.

In one embodiment, when the Guide is first setup, the initial download of information will not have been received. The Panel ad spaces are filled with Placeholder ads that are stored in ROM. These ads are typically “timeless” as they appear each time a Television is set up, either for the first time or after a power outage. One use for the Panel ad space is for help text. Help text that draws the user to select the ad space could serve as a “tutorial” on how to access Panel ads, the additional information on info. screens, and how to Watch and Record from ads.

When the viewer first enters the EPG, the EPG can display a full screen ad, such as an ad that would be displayed in the Ad Window. The viewer can interact with the full screen ad in the same manner in which the viewer can interact with the Ad Window. That is, the viewer can instruct the EPG to record, or to add to the watch list, the infomercial or program, if there is one, that is associated with the advertisement.

Rather than have the last channel watched as the first channel tuned the next time that the viewer turns on the television, a channel selected by the viewer could be automatically tuned. In one embodiment, the viewer indicates the Automatic watch channel in the Watch List Function of the EPG. In another embodiment, a broadcaster sends an on-screen query to each viewer to enter a command if the viewer wants the broadcaster's channel to be the first watched channel when the viewer first turns on the television.

Ads may feature, among other things, a graphics field, a text field or a combination of a graphics and text field. In one embodiment, the viewer can interact with the ads and the television. For instance, Tune-in ads allow the viewer to tune directly to a show in progress from a highlighted ad block assuming the ad block has program information associated with it. An in-progress show associated with an ad is directly tuned by pressing a button.

Direct-record ads allow the user to record a show in progress or scheduled to be on in the future from a highlighted ad block. There is no practical limit on how far into the future a direct-record associated show may be scheduled to air. A show associated with an ad is recorded by pressing an Action button while the ad is highlighted. The user may select a record frequency of once; daily or weekly. From an ad, the user presses the Action button to place the show in the Record Schedule. In the event that the show is currently on, pressing the Action button while highlighting an ad allows recording of the show in progress. The show title is also placed in the Record Schedule until the show ends in the event the user wishes to modify the record frequency to daily or weekly.

Watch ads consist of a program advertised in any ad space. The program advertised may be placed into the Watch Schedule as long as the ad block has program information associated with it. There is no practical limit on how far into the future an associated show may be scheduled to air. The Watch feature operates much the same way as the Record feature, except that it tunes the Television to the show rather than recording it. If a user is watching Television, the channel automatically changes to a show placed in the Watch Schedule when the show begins. If the Television is turned off when a show in the Watch Schedule is scheduled to begin, the Television is turned on and tuned to the desired channel.

The user may select a watch frequency of once, daily or weekly. From an ad, the user presses an Action button to place the show in the Watch Schedule. In the event that the show is currently on, pressing the Action button while highlighting an ad results in tuning directly to the show. The show title is also placed in the Watch Schedule until the show ends in the event the user wishes to modify the watch frequency to daily or weekly.

Ads may have multiple levels of information. Typically, First Level Information is the ad copy and/or graphics that are presented on screen with no user action. This comprises the Panel and Channel ad areas. Typically, Second Level Information (if provided by the advertiser) is automatically made visible (“Auto-Open”) when the user highlights an ad block by scrolling onto it. This secondary information is presented in the info. box when a Channel ad is selected and in an automatically expanded version of an info. box that covers the entire channel grid area when a Panel ad is highlighted. An “i” icon on the ad, placed at the advertiser's discretion, indicates there is more information available for that ad. The second level information may be text and/or graphics depending on memory availability.

Typically, Third Level Information (if provided by the advertiser) availability is indicated by the info. button “i” on a Second Level information screen. Pressing the info. button accesses this information and cause the information box to expand for Channel ads to cover the entire grid area. This information can be multiple pages long. Pressing the info. button successive times cycles the user through the multiple pages. Pressing the info. button from the last available screen causes the information box to contract to its original size for all ads. The third level information may be text and/or graphics depending upon memory capabilities.

Ad Blocks can be dynamic. Memory permitting, the Panel ad graphics and/or text and information box text may change every X (where X is some number) seconds rotating through a limit of N (where N is some number) different graphical or textual executions. There is the capability to limit the number of dynamic ads displayed at any one time.

Ad duration and start time/end time can be scheduled and/or dynamic. In one embodiment, ads are to be displayed at a given start time with a related end time. The time between the start and end is the ad's duration. The minimum duration increment is typically 60 seconds. In one embodiment, an ad is not replaced automatically when an ad's end time arrives. Ads only change when the user's actions cause a new “hard page,” or new section of the guide to appear (e.g., going from the Grid to Sort).

In one embodiment, ads can rotate. For example, different ads can appear each time the user enters the same page/section of the Guide. There is no hard limit on the number of ads placed in rotation. Ads can be assigned a priority with the ad of the highest priority being displayed the first time a hard page or section is accessed. Then the second priority ad is displayed the next time the user views this page and so forth. The priority counter is page dependent, meaning that if the user views the first page for a third time, they see the third priority ad on that page and if they then scroll to the second page for the first time, they see the first priority ad on the second page.

Ads may differ by the section of the Guide being viewed. For example, if a user is viewing the Sports theme area, an ad for ESPN Sports Center may appear, whereas a different ad was presented when the user was on the main grid.

The EPG can determine which advertisements to display depending upon the advertisement being displayed on the television channel that the viewer was watching immediately before entering the EPG. That is, if a Toyota advertisement was being shown on the channel that the viewer was watching at the time that the viewer entered the EPG, then the EPG can be timed to display a correlative Toyota advertisement in some portion of the EPG, e.g., the Ad Window.

In one embodiment, the EPG tests a Viewer Profile to determine which ad to display at various times during the viewer's session with the EPG. The EPG can assign Ad and Page priorities to represent the advertisers' investment and the relative viewer's profile.

Graphically dynamic ads typically present different graphics every x seconds (where x is some number, with x as small as 1.0 second) rotating through n (where n is some number) graphical or textual executions. Typically, only a limited number of these ads are displayed at any one time (likely a maximum of 1 per screen) as busy screens decrease the effectiveness of the ads and the utility of the Guide. Ads must be “identifiable” and “accessible” once placed in memory in order to allow advertisers to “pull” an ad, to update an ad, or to correct errors in transmission.

The viewer can highlight the Ad Window to locate additional information about the product advertised. In one embodiment, the viewer highlights the Ad Window by pressing the arrow/directional navigational keys of the remote control device to navigate the remote control device pointer to the location of the Ad Window on the on-screen television monitor display. When the remote control device pointer is located at the Ad Window on the on-screen television monitor display, the on-screen display of the Ad Window is highlighted. Alternatively, the EPG provides the producers of infomercials with the opportunity to provide the viewer with the opportunity to view a video clip about the product being advertised.

The Ad Window can be optionally interactive. The Internet address of a web site containing information relevant to the ad being displayed in the Ad Window can be displayed in the Ad Window as a web site address, as an icon, or in some other graphical presentation, such as a stylized “i” indicating additional interactive information. Furthermore, the viewer's interaction with the Ad Window is monitored by the EPG to record as part of the viewer's profile.

The EPG provides viewers the opportunity to access extended product information about which the viewer is interested. Because of the cost of buying advertising time, a growing number of product manufacturers and marketers produce infomercials about their products. Because of the cost of air-time, many manufacturers and marketers buy relatively inexpensive air time for their infomercials according to off-prime-time schedules, often on non-prime channels. The EPG provides the viewer the opportunity to record an infomercial that is broadcast at a time, or on a channel, that would be inconvenient for the viewer to watch real-time. If the Ad Window displays information about a particular product, pressing a record button instructs the EPG to record an infomercial, to the extent that one is scheduled for a future time. Alternatively, the viewer can designate the infomercial for the Watch List.

The EPG provides viewers with additional opportunities to instruct the EPG to record or watch a future-scheduled television program. The Ad Window can display information about a future-scheduled television program. If the viewer is interested in recording the program, the viewer can instruct the EPG to record the future-scheduled program. In one embodiment, the viewer presses record button on the remote control device to instructthe EPG to record the future-scheduled program. Alternatively, the viewer can instruct the EPG to add program to the Watch List. Additionally, the viewer can view a video clip about the program.

In one embodiment of the invention, a data base of advertising messages and virtual channel ads is stored in RAM at the viewer terminal or is accessible at a web site if the viewer terminal has an Internet connection. In either case, the advertising items in the data base are labeled with coded categories that correspond to coded category labels assigned to the telecast television programs. (Preferably, these are the same categories that are used to sort the programs in the on screen category or theme guide.) The category labels of the television programs could be stored in RAM as part of the EPG data base and retrieved from the applicable Show Information Package (“SIP”) based on the information from the real time clock and the tuner setting. This information identifies a time and channel that points to the applicable SIP. After the category label of the last program the viewer was watching in the television mode is retrieved from the EPG data base, this label is matched to the corresponding label in the data base of advertising messages and virtual channel ads stored in RAM.

The EPG uses a Viewer Profile information in connection with “adjacent-content” customization of the advertising messages displayed by the EPG. Viewer Profile information includes identification of the content that the viewer has currently highlighted in the EPG or related data service. Using this method, the EPG displays different advertisements depending upon, e.g., which show the viewer has currently highlighted in the Grid Guide, what sport is highlighted in a sports data service; or what type of news is highlighted in a news service (international, local, etc.).

The EPG can select advertisements from various possible locations, including a library of advertisements stored at the viewer's terminal in RAM that have been downloaded through the VBI, stored at the head-end, or accessible through an EPG link to the Internet/World Wide Web. The advertisements may be in the form of graphics, text, video clips, audio clips, and combinations thereof. Each advertisement can be assigned theme codes, profile codes, and other selection intelligence. In one embodiment, in order to customize the advertising display, the EPG searches the library of available advertisements to locate advertisements that match criteria set by the advertisers for “access content,” “adjacent content,” and/or Viewer Profile information. In another embodiment, the EPG selects advertisements for display according to pre-established selection criteria. In one embodiment, the advertisements in the library are assigned to themes; the history of use of an on-screen theme menu or program guide is recorded; and the history is analyzed by the EPG microprocessor to decide which advertisement to display.

For example, a particular advertisement for automobiles might be assigned to a sports event theme. In a simple implementation, this automobile advertisement would be selected for display, if the users of the particular EPG selected sports as a theme more frequently than any other theme during a prescribed period of time. Selecting a theme brings up a screen listing, by time, channel, and title, of the programs that are consistent with the selected theme on a second-level theme screen. The history of use could be recorded in a memory by overwriting the oldest data stored in the memory. If desired, a more sophisticated analysis could be used. Thus, the frequency of selection could be weighted to favor more recent selections over older selections or themes could be combined to determine which advertisement to display.

In another embodiment, the advertisements in the library are assigned to particular television programs or classes of television programs; the history of use of the information box of the EPG is recorded, in terms of frequency of the visits, time spent during a single visit, and/or total time of all the visits; the information boxes are correlated to the television programs, and the results are analyzed to decide which advertisement to display. Instead of the information box, any other area of the EPG screen could be monitored in similar fashion to decide which advertisement to display. In each case, the advertisements in the library are assigned to the types or subjects of information displayed in the monitored area so as to target better the advertisements to the interests of the users.

In another embodiment, the advertisements in the library are also assigned to particular television programs or classes of television programs in terms of channel and time; the tuner is monitored; the channel and time are correlated to the television programs, and the results are analyzed to decide which advertisement to display. For example, an advertisement for brand name athletic shoes with a popular basketball star could be assigned to basketball programs. The shoe advertisement would be selected for display if the viewer of the particular EPG entered the EPG while watching a basketball game.

In another embodiment, the advertisements in the library are also assigned to particular television programs or classes of television programs; the history of television programs entered into a “record-watch list” is recorded; and the results are analyzed to decide which advertisement to display. The time of the monitored event can also be taken into account in order to distinguish between multiple users of the same EPG or related television receiver. The assumption is that the people using the EPG and watching television at different times of the day have different interests—housewives may use the EPG more in the morning, children may use it in the early evenings, and men who work outside the home may use it on Sunday afternoons.

FIG. 2 is an exemplary embodiment of a remote controller for activating the functions of an EPG within a television system. For the purpose of describing the operation of the invention, it is assumed that the remote controller sends IR commands to a microprocessor in the television system that is programmed to carry out the described operations with the aid of a clock. The remote controller has up, down, right, and left arrows keys for controlling the movement of a cursor on the EPG. The cursor can select, i.e., highlight, any of the windows and tiles on the EPG by pressing the arrow keys on the remote control. Highlighting is effectuated by adding a border around the window or changing the color of the border, if the border is permanent.

Television program data is received by the television system in packets and stored in the EPG database. The packets are sent via VBI signals and received by the television system's microprocessor. A packet contains television program schedule information along with routing data that enables the system to determine how to store the information in memory.

Television program data is stored in data structures within the EPG database that enable the system to interpret the data. Details on the content and organization of the packets and the EPG database is discussed in more detail in U.S. application Ser. No. 08/987,795, Abandoned (attorney docket number 32557/LTR/S787), and U.S. Pat. No. 6,239,794 (attorney docket number 27971/LTR/E190), the contents of which are hereby expressly incorporated by reference.

According to one embodiment of the invention, data structure for storing EPG data includes a pre-established time list and show information packages. The pre-established time list is used to locate television program information for each channel in the system. The pre-established time list only references program information that will be broadcast on the current day (today) or on the next day (tomorrow).

FIG. 3 is an exemplary illustration of a pre-established time list. This list contains a set of twelve pointers 313 for each channel in the system. Each pointer corresponds to a show information package that contains data for a four hour block of television programming. For example, in FIG. 3, the pointer E1 corresponds to program data from four p.m. to eight p.m. for the first channel. Pointers A2 through L2 are used to represent the program data associated with the second channel in the system. Twelve pointers represent 24 hours of programming information for the current day and 24 hours of program information for the next day.

Each pointer contains an address of a show information package of variable length containing actual television program data. When specific data is needed, the system first looks in the pre-established time list to secure the pointer, then uses the address found in that location to determine where the data is actually stored. For example, if data for the second channel in the system is needed for a television program between eight p.m. and twelve midnight, the system uses the address in pointer F2 to determine the location of the show information package containing the data.

Show information packages are variable length data structures that contain actual television program schedule data. Each show information package contains data for a four hour block of television programming for a specific channel. The show information package length is variable because the number of shows in each four hour block depend on the durations of the individual shows.

FIG. 4 depicts a show information package. The show information package contains the following: amount of memory—used to determine how much space was used to store the show information package and therefore, how much space is freed up after the show information package is no longer needed; control date—used to determine whether the data in a specific show information package is for the current day, the next day, or outside of the current two-day window; and version number-used to specify the specific version of the program data.

Following these three fields is specific data for each show that fits within the four-hour time block. For a given show, represented by block 314, the following fields are present in the show information package: multiple show flag field—used to determine if this show is the last show within the package, or if there are other shows following to be processed; start time field—an offset from the start time of the four-hour block, this offset is added to the time of the four-hour block to determine the start time of the show; duration field—specifies the air time for the particular show; theme field—contains information on the type of show; for example, the show may be a sporting event, a news program, or a movie; CC field determines whether or not the show is closed captioned; stereo field—determines whether or not the show is broadcast in stereo; add-ons field—is a field left for expansion, this field contains more information about the show as that information becomes standard in the art.

Following these fields are fields representing program title, primary description—a short description of the program, secondary description—a longer description of the program and VCR+PLUSCODE. Each of these items are represented by two fields, one containing the length of a specific item, such as title length, and one containing the item itself, such as title.

Following this information is an end-of-show field. The end-of-show field is used to indicate that the information for that particular show is finished. A show information package may contain information for one or more shows depending on how many shows are broadcast within the four hour block. The presence of multiple shows is represented by 315 and 316.

FIG. 5 illustrates the organization of program schedule information according to an alternative embodiment of the present invention. As shown in FIG. 5, the database is structured internally as schedule data structures and theme data structures linked by handles and handle tables. Each handle is an index to a handle table which contains pointers to blocks of memory where structures of the database are stored.

The hierarchy for the schedule data structures, in descending order is as follows:

-   -   Channel Data Table: contains subscriber unit's list of channels;     -   Show List: contains time slots for each show scheduled to be         broadcast for a channel;     -   Show Title: contains the title text and show title attributes;     -   Show Description: contains show's ratings, attributes, and         description text.

A channel data table, depicted in FIG. 6, is typically the highest data structure in the hierarchy. This table includes an entry for each channel received by the television unit. The entries in the channel data table are changed infrequently and are determined by the location of the television unit and type of services received. The location of the television unit is entered into the television's memory during set up, when the user is requested to provide a zip code of the area where the television is located. Each channel data table entry includes information concerning the channel and a handle to a show list handle table for the channel.

The next data structure in the hierarchy is a show list as depicted in FIG. 7. The show list includes a start time, typically being midnight GMT, and 24 hours of scheduling. The channel's schedule is given by an ordered sequence of show slots, with a show slot for each show to be broadcast by a particular channel for a particular day. Each slot includes a duration, show title handle, and show description handle. Finding an entry corresponding to a given start time requires scanning the entries, in order, from the beginning of the show list and adding duration values.

In one embodiment, the database, when fully constructed, holds a week's worth of show lists for each channel. The days of the week are accessed by incrementing the show list handle by two bytes. The show lists are updated each day at midnight GMT with the show list for the day just completed being deleted and the show list for the same day next week being added to the database.

The next data structures in the schedule hierarchy are the show title entries, depicted in FIG. 8, and the show description entries, depicted in FIG. 9. For a given show slot, the show title entry and show description entry are accessed utilizing the handles included in the slot. The show title and show description entries are stored in a memory pool divided into blocks. Each show title is identified by a unique show identification number (SID), and each show description is identified by a unique number assigned at the head end. The show title handles are based on the SID and the show title handles are offsets into a show title handle table. The entry in the show title table accessed by a particular show title handle includes the address of the first block in the memory pool where the show title entry is stored. Similarly, the show description handle table entry accessed by a show description handle stores the address of the first block in the memory pool where the show description entry is stored.

As with television programming data, the television system also receives advertisement data in packets. The advertisement data is then stored in an advertisement (ad) database. The advertisements generally relate to future television programs. However, a person skilled in the art should recognize that the advertisements may also relate to general products, services and the like, and are not limited to future programming advertisements.

The advertisement data packets, according to one embodiment of the invention, comprise a scheduling component and a program component. The two components are transmitted by an information broadcasting system. FIG. 10 is an exemplary illustration of the scheduling component. As illustrated in FIG. 10, the scheduling component includes a Start Time and 24 hours worth of ad schedules. The Start Time is the time in which the advertisements are to be displayed, and can be any time during the day. Generally speaking, however, the Start Time of the ads is 12:00 am.

Following the Start Time is a Duration field and an Ad ID for each scheduled ad. The Duration field indicates the period for which a particular ad is to be displayed. In one embodiment, ad durations may range from 5 minutes to 24 hours. The Ad ID is utilized to access the ad copy (text & graphics) for a particular ad.

In addition to the schedule component, the information broadcasting system also transmits a program component. The program component allows the television system to link to an advertised show. FIG. 11 illustrates a program component according to one embodiment of the invention. As illustrated in FIG. 11, the program component includes an Ad ID, a Guide Channel, Start Time, and Duration. The Ad ID allows the Guide Channel, Start Time, and Duration fields to be associated with a particular advertisement. The television system utilizes the Guide Channel to find the program schedule information for that channel. The Start Time and Duration fields are used to find a particular program broadcast by the channel.

According to one embodiment, the Guide Channel, Start Time, and Duration information are transmitted in the order the advertisements are scheduled. For instance, the first Guide Channel, Start Time, and Duration are associated with the first scheduled advertisement, the second Guide Channel, Start Time, and Duration are associated with the second scheduled advertisement, and so forth. Thus, according to this alternative embodiment, the information broadcasting system need not transmit the corresponding Ad IDs.

FIG. 12 is an illustration of how information is retrieved from the ad and EPG databases. Beginning at the Start Time, the television system retrieves an Ad ID (Ad ID1 in this example), and locates the corresponding ad copy in the advertisement database. Each ad copy includes a text field and a pointer to a logo/graphics. The text field contains special tags which serve as placeholders for particular values. These placeholders might reserve space in the ad copy for the air time of an advertised show, an episode's title/description, or any other information available from the EPG database. Accordingly, advertisements may be modified based on the information stored in the EPG database, and it no longer becomes necessary to create new advertisements for different time zones or different episode descriptions.

The ad entry further includes a pointer to an ad logo, if appropriate. The ad logo includes a graphics file of a logo (e.g., the NBC logo) or any other graphics data that is to be displayed with the ad. The television system utilizes the program component to link advertisements to the corresponding television programs. This allows the television system to insert the appropriate information into the placeholders of the text of an advertisement. In addition, the linking of programs to advertisements allows a viewer to schedule a show for watching or viewing directly from the advertisement.

In linking advertisements to corresponding television programs according to one embodiment of the invention, the Guide Channel of the program component is used to locate a map of pointers for a particular channel, each pointer corresponding to a show information package that contains data for a four-hour block of television programming for that particular channel. The Duration field allows the system to retrieve a particular program information within in a show information package. When the particular program is located, the television system retrieves values necessary for inserting information into the placeholders of the corresponding advertisement. For instance, the program description may be retrieved from the show information package and inserted into a program description placeholder within the ad. Furthermore, the time in which the program is to air may be retrieved and inserted into an air-time placeholder.

According to one embodiment, the EPG database contains programming information for an entire week. In this case, the Guide Channel is used to locate a showlist handle table with a handle to a showlist for a particular channel for the current day. The Start Time and Duration fields are used to locate the appropriate show description entry.

In another embodiment of the invention, the program component is not sent as a packet, but is created within the television system based on information transmitted with the advertisements in the scheduling component. According to this embodiment, the information broadcasting system transmits with the scheduling component, the title of the program being searched for, a time range in which the show will be broadcast, and a network station indicator for finding the network station broadcasting the program. For instance, the ad may contain instructions to “link to NBC show ‘Friends’ on Thursday evening.” With this information, the television system searches the EPG database for the show ‘Friends,’ and creates the program component for the corresponding ad. In this way, a television system capable of tuning to multiple NBC affiliates would select the channel of the NBC affiliate which the television system is in fact tuned to.

While the invention has been described with respect to particular illustrated embodiment, those skilled in the art and technology to which the invention pertains will have no difficulty devising variations which in no way depart from the spirit of the invention. For example, while the illustrated embodiments have been described in connection with modifying time and program descriptions for an advertisement of a future television program, it will be appreciated that other types of advertisement information may be modified if desired.

In addition, the modified advertisements may not only pertain to future television programs, but may be advertisements for any type of products or services. Information related to the advertised product and/or service, such as price, telephone number, point of sales, web site address, dates of promotions, and the like may also be modified based on the information stored in the EPG database. For example, if the web site address of a product distributer is changed, only the new web site address needs to be transmitted and then inserted to the appropriate field of the stored advertisement when it is displayed in the EPG. Alternatively, the web site address may be retrieved form the EPG database and combined with a portion of the stored advertisement. In another example, the advertisement rotation information such as starting time and duration, and frequency of display can be retrieved from the EPG database and combined with the advertisement content stored in the ad database for displaying in the EPG.

It will be recognized by those skilled in the art that various modifications may be made to the illustrated and other embodiments of the invention described above, without departing from the broad inventive scope thereof. It will be understood therefore that the invention is not limited to the particular embodiments or arrangements disclosed, but is rather intended to cover any changes, adaptations or modifications which are within the scope and spirit of the invention as defined by the appended claims. 

1-32. (canceled)
 33. A method of displaying a modified advertisement on a user device, the method comprising: receiving an advertisement, wherein the advertisement includes a placeholder; storing supplemental information related to the advertisement in an information database; inserting, local to the user device, the supplemental information into the placeholder to form the modified advertisement; and displaying the modified advertisement on the user device.
 34. The method of claim 33, wherein inserting the supplemental information into the placeholder comprises replacing the placeholder with the supplemental information.
 35. The method of claim 33, wherein the advertisement is for a product or service.
 36. The method of claim 33, wherein the supplemental information comprises metadata.
 37. The method of claim 33, wherein the supplemental information comprises at least one of time, date, channel, title, and program description information for a program.
 38. The method of claim 33, wherein the supplemental information comprises at least one of price and point of sales for a product or service.
 39. The method of claim 33, wherein the supplemental information comprises a web site address.
 40. The method of claim 33, wherein the advertisement is received from a database located at a remote source.
 41. The method of claim 33, wherein the advertisement is received from a database located on the user device.
 42. The method of claim 33, wherein the modified advertisement is interactive.
 43. A system for displaying a modified advertisement on a user device, the system comprising: a receiver configured to receive an advertisement, wherein the advertisement includes a placeholder; an information database configured to store supplemental information related to the advertisement; a processor, the processor configured to: insert, local to the user device, the supplemental information into the placeholder to form the modified advertisement, and display the modified advertisement on the user device.
 44. The system of claim 43, wherein inserting the supplemental information into the placeholder comprises replacing the placeholder with the supplemental information.
 45. The system of claim 43, wherein the advertisement is for a product or service.
 46. The system of claim 43, wherein the supplemental information comprises metadata.
 47. The system of claim 43, wherein the supplemental information comprises at least one of time, date, channel, title, and program description information for a program.
 48. The system of claim 43, wherein the supplemental information comprises at least one of price and point of sales for a product or service.
 49. The system of claim 43, wherein the supplemental information comprises a web site address.
 50. The system of claim 43, wherein the advertisement is received from a database located at a remote source.
 51. The system of claim 43, wherein the advertisement is received from a database located on the user device.
 52. The system of claim 43, wherein the modified advertisement is interactive. 